package com.itheima.health.dao;

import com.itheima.health.pojo.Order;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 预约DAO
 */
@Mapper
public interface OrderDao {


    List<Map<String, Object>> findAll();

    /**
     * 根据会员id,预约时间，套餐id查询预约记录
     * @param memberId
     * @param orderDate
     * @param setMealId
     * @return
     */
    Order selectOneByCondition(@Param("memberId") Integer memberId, @Param("orderDate") Date orderDate, @Param("setMealId")Integer setMealId);

    /**
     * 新增预约信息
     * @param order
     */
    void insert(Order order);

    /**
     * 根据id获取预约信息
     * @param id
     * @return
     */
    Order selectOneById(Integer id);

    /**
     * 查询今日预约数/到诊数
     * @param today
     * @return
     */
    Integer selectCountToday(@Param("today") String today,@Param("orderStatus") String orderStatus);

    /**
     * 获取一周或一月预约数/到帧数
     * @param week
     * @return
     */
    Integer selectCountWeek(@Param("week") String week,@Param("orderStatus") String orderStatus);

    /**
     * 查询热门套餐
     * @return
     */
    List<Map<String, Object>> getListHoteSetmeal();

    /**
     * 总预约数
     * @return
     */
    Integer getCount();
}
